<html>

<head>
<title>Vorbisfile - function - ov_read_float</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
</tr>
</table>

<h1>ov_read_float()</h1>

<p><i>declared in "vorbis/vorbisfile.h";</i></p>

<p>
   This is the function used to decode a Vorbis file within a loop, but
   returns samples in native float format instead of in integer formats.
</p><p>
   For information on channel ordering and how ov_read_float() deals with the complex issues 
   of chaining, etc, refer to the documentation for <a href="ov_read.html">ov_read()</a>.
</p>

<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td>
<pre><b>
long ov_read_float(<a href="OggVorbis_File.html">OggVorbis_File</a> *vf, float ***pcm_channels, int samples, int *bitstream);
</b></pre>
	</td>
</tr>
</table>

<h3>Parameters</h3>
<dl>
<dt><i>vf</i></dt>
<dd>A pointer to the OggVorbis_File structure--this is used for ALL the externally visible vorbisfile
functions.</dd>
<dt><i>pcm_channels</i></dt>
<dd>A pointer to an output buffer.  The pointer will be set to the decoded output buffer.</dd>
<dt><i>samples</i></dt>
<dd>Maximum number of decoded samples to produce.</dd>
<dt><i>bitstream</i></dt>
<dd>A pointer to the number of the current logical bitstream.</dd>
</dl>


<h3>Return Values</h3>
<blockquote>
<dl>
<dt>OV_HOLE</dt>
  <dd>indicates there was an interruption in the data.
      <br>(one of: garbage between pages, loss of sync followed by
           recapture, or a corrupt page)</dd>
<dt>OV_EBADLINK</dt>
  <dd>indicates that an invalid stream section was supplied to
      libvorbisfile, or the requested link is corrupt.</dd>
<dt>OV_EINVAL</dt>
  <dd>indicates the initial file headers couldn't be read or
      are corrupt, or that the initial open call for <i>vf</i> 
      failed.</dd>
<dt>0</dt>
  <dd>indicates EOF</dd>
<dt><i>n</i></dt>
  <dd>indicates actual number of samples read.  <tt>ov_read_float()</tt> will
      decode at most one vorbis packet per invocation, so the value
      returned will generally be less than <tt>length</tt>.
</dl>
</blockquote>

<h3>Notes</h3>
<p><b>Typical usage:</b>
<blockquote>
<tt>float **pcm;
samples_read = ov_read_float(&amp;vf,pcm, 1024, &amp;current_section)</tt>
</blockquote>

This decodes up to 1024 float samples.
</p>

<br>
<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright &copy; 2002 vorbis team</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
</tr>
</table>


</body>

</html>



